#명령형과 선언형
-
명령형
- for 문이나 while 문 등을 이용하여 어떻게 처리를 해야하는지에 대한 방법
- ex) 반복문을 사용하여 두배의 결과값을 results 안에 넣어라
function double (arr) { let results = []; for (let i = 0; i < arr.length; i++){ results.push(arr[i] * 2) } return results }
-
선언형
- 무엇을 처리하는지에 대한 방법
- 기본적으로 함수, 명령어에 대한 이해가 있으면 기대한 값이 어떤식으로 나올 지 추상화가 되어있음
- 메서드 안쪽으로 추상화 되어있는 부분은 직접 상태 변경을 하지 않고
- 높은 가독성을 가짐
- ex) arr 의 요소의 두배의 결과값을 가진 배열을 리턴해라
function doubleNumb (arr) { return arr.map(num => num * 2) }
#선언형 메소드
const arr = [1,5,9,10,12]
-
forEach
function print (arr) { arr.forEach(num => console.log(num)) } print(arr) // 1 // 5 // 9 // 10 // 12
-
map
function double (arr) { return arr.map(num => num * 2) } double(arr) // [2,10,18,20,24]
-
filter
function odd (arr) { return arr.filter(num => num % 2) } odd(arr) // [1,5,9]
-
reduce
function total (arr) { return arr.reduce((prev,curr) => prev+ curr, 0) } total(arr) // 37
-
some
function isBiggerThanFive(arr) { return arr.some(num => num > 5) } // 하나의 결과만 True 로 나오게 되도 반복문을 중단한다. // [1,5,9,10,12] 일 경우 9에서 true 결과로 나오기 때문에 10, 12는 체크를 안하게된다 isBiggerThanFive(arr) // true
-
every
function isPositive(arr) { return arr.every(num => num > 0) } // 하나의 결과만 False 로 나오게 되도 반복문을 중단한다. // [1,5,9,10,12] 일 경우 전부 조건문을 통과하기 때문에 true로 나오게 되고 // 만약 중간에 음수가 있게 되면 false가 return 된다 isPositive(arr) // true